/**
 * Fichier PseudoEnseignement.java : Définition de classe
 * fr.unice.gnpt.gui.util.PseudoEnseignement : Services non assignés
 * 
 * Auteurs : Groupe GNPT : Gastinel, Nicolas, Pellegrino, Trovato
 */
package fr.unice.gnpt.gui.util;

import fr.unice.gnpt.core.Enseignant;

/**
 * Classe de représentation des Services non assignés.
 * 
 * @author gnpt
 * @version 0.0.1
 */
public class PseudoEnseignant {

	private Enseignant ens;

	/**
	 * Constructeur par défaut
	 */
	public PseudoEnseignant() {
		/*
		 * on crée un Enseignant vide pour éviter les NullPointerException si aucun
		 * Enseignant n'a été affecté à cette instance.
		 */
		this(new Enseignant());
	}

	/**
	 * Constructeur d'un pseudo enseignant depuis un enseignant
	 * 
	 * @param nouveau
	 *            l'enseignant duquel dépend ce pseudo-enseignant
	 */
	public PseudoEnseignant(Enseignant nouveau) {
		this.ens = nouveau;
	}

	/**
	 * Accesseur pour l'enseignant enveloppé dans cette classe.
	 * 
	 * @return l'enseignant
	 */
	public Enseignant getEnseignant() {
		return this.ens;
	}

	/**
	 * Mutateur pour l'enseignant enveloppé dans cette classe.
	 * 
	 * @param enseignant
	 *            le nouvel enseignant
	 */
	public void setEnseignant(Enseignant enseignant) {
		this.ens = enseignant;
	}

	/**
	 * Accesseur indiquant si l'enseignant à des heures supplémentaire.
	 * 
	 * @return {@code true} si oui, {@code false} sinon.
	 */
	public boolean aDesHSup() {
		return (this.ens.calcEtRetNbTotalHeuresEquivalent() < 0);
	}
	
	/**
	 * Accesseur pour le nombre d'heure
	 * 
	 * @return le nombre d'heure équivalent TD restantes
	 *          Attention ce nombre peut être négatif dans le cas
	 *          d'heure supplémentaire
	 */
	public int getNbHeure() {
		return this.ens.calcEtRetNbTotalHeuresEquivalent();
		}
}
